
#ifndef MIDEA_BASE_SCROLL_TOOL
#define MIDEA_BASE_SCROLL_TOOL
#ifdef __cplusplus
extern "C"
{
#endif

#include "lvgl.h"

    // 将子UI从from_index设置到to_index
    // 并且保持其他子UI位置不变
    void midea_obj_child_move_to_index(lv_obj_t *obj, uint32_t from_index, uint32_t to_index);

    void midea_obj_del_core(lv_obj_t *obj);

    // 删除指定索引范围的子UI
    void midea_delete_child_from_range(lv_obj_t *obj, int32_t start_index, int32_t end_index, bool free_user_data);

    // 从指定索引开始删除所有之后的子UI
    void midea_delete_child_from_index(lv_obj_t *obj, int32_t index, bool free_user_data);

    // 获取lv_obj_t的scroll容纳的size高度或宽度
    lv_coord_t midea_obj_scroll_length(lv_obj_t *obj, bool is_vertical, lv_coord_t scroll_end);

    // 获取在lv_obj_t中 scroll_target坐标 附近的一个cell 非精确
    int32_t midea_obj_child_id_of_scroll_position(lv_obj_t *obj, bool is_vertical, lv_coord_t scroll_end, lv_coord_t scroll_target);

#ifdef __cplusplus
} /*extern "C"*/
#endif
#endif